package modelos;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * Modelo para crear una venta.
 *
 * @author Luis Antonio Ramirez Martinez
 * @since 20/02/2015
 * @version 1.0
 */
public class Venta {

    private Integer folio;
    private Date fecha;
    private String cajero;
    private Integer caja;
    
    private List<DetalleVenta> detalles;

    /**
     * Constructor de la clase venta que asigna una nueva fecha.
     * @param cajero
     * @param caja 
     */
    public Venta(String cajero, Integer caja) {
        //TODO asignar folio de manera autoincremental.
        this.cajero = cajero;
        this.caja = caja;
        this.fecha = new Date();
        this.detalles = new ArrayList<>();
    }
    
    

    /**
     * Método de acceso al folio de la venta.
     *
     * @return folio de la venta en formato de entero.
     */
    public Integer getFolio() {
        return this.folio;
    }

    /**
     * Asiganción de un folio a la venta.
     *
     * @param folio número entero unico y consecutivo.
     */
    public void setFolio(Integer folio) {
        this.folio = folio;
    }

    /**
     * @return the fecha
     */
    public Date getFecha() {
        return fecha;
    }

    /**
     * @param fecha the fecha to set
     */
    public void setFecha(Date fecha) {
        this.fecha = fecha;
    }

    /**
     * @return the cajero
     */
    public String getCajero() {
        return cajero;
    }

    /**
     * @param cajero the cajero to set
     */
    public void setCajero(String cajero) {
        this.cajero = cajero;
    }

    /**
     * @return the caja
     */
    public Integer getCaja() {
        return caja;
    }

    /**
     * @param caja the caja to set
     */
    public void setCaja(Integer caja) {
        this.caja = caja;
    }

}
